<?php
/**
 * 管理后台登录逻辑处理
 * ============================================================================
 * * 版权所有 度拉拉 * *
 * 网站地址: http://www.dlltrip.com
 * ----------------------------------------------------------------------------
 * 这不是一个自由软件！您只能在不用于商业目的的前提下对程序代码进行修改和
 * 使用；不允许对程序代码以任何形式任何目的的再发布。
 * ============================================================================
 * Author By: 倪宗锋
 * PhpStorm Login.php
 * Create By 2017/6/13 15:38 $
 */

namespace admin\service\user;


use common\models\AdmUser;
use common\service\admin\LoginService;
use common\util\Util;

class Login
{
    /**
     * Des:登录处理
     * Name: doLogin
     * @param $param
     * @return array
     * @author 倪宗锋
     */
    public function doLogin($param)
    {
        if(empty($param['u_name']) || empty($param['pwd'])) {
            return Util::returnArrEr('用户名或密码不能为空！');
        }
       if(!Util::checkPattern('',$param['u_name'],'/^[a-zA-z0-9_]{1,20}$/')) {
           return Util::returnArrEr('用户名应为20位以内的字母数据或下划线！');
       }
       $admUser = new AdmUser();
        $getUserInfo = $admUser->getUserInfoByName($param['u_name']);
        if(empty($getUserInfo['uid'])) {
            return Util::returnArrEr('登录失败！[1001]');
        }
        if($getUserInfo['pwd'] != $param['pwd']) {
            return Util::returnArrEr('登录失败！[1002]');
        }
        $setLogin = LoginService::setLogin($getUserInfo['uid']);//设置用户登录状态
        if($setLogin['flag'] == false) {
            return Util::returnArrEr('登录失败！[1003]');
        }
        //修改登录时间
        $info  = $admUser::findOne($getUserInfo['uid']);
        $info->last_login= date('Y-m-d H:i:s');
        $info->save();
        return $setLogin;
    }
}